#include "ProcesseurTest.hpp"

#include "RapporteurDeFichier.hpp"

#include "InterpreteXml.hpp"

#include "StructureDonnees.hpp"

#include <iostream>

#include <QtCore/QIODevice>

using namespace std;

ProcesseurTest::ProcesseurTest( QObject * parent )
  : QObject( parent ), Recup( new RapporteurDeFichier( this ) ),
    Lecteur( new InterpreteXml( QString( "agency" ), this ) )
{
  Recup -> setUrl( QString::fromUtf8( "http://www.croquemonster.com/api/agency.xml?name=SoloInc;pass=RTEwWtyB7oCYUHGbWjkH" ) );

  connect( Recup, SIGNAL( fichierRecupere( QNetworkReply::NetworkError ) ),
	   this, SLOT( litTexte( QNetworkReply::NetworkError ) ) );
}

ProcesseurTest::~ProcesseurTest()
{}

void ProcesseurTest::litTexte( const QNetworkReply::NetworkError& statut )
{
  if ( statut != QNetworkReply::NoError )
    {
      cerr << "Une erreur est survenue lors de la récupération du fichier : "
	   << statut << endl;
      return;
    }

  cout << "Fichier récupéré sans problème" << endl;
  
  QIODevice * infos = Recup -> reponseReseau();

  StructureDonnees donnees;
  
  Lecteur -> setEntree( infos );
  
  if ( Lecteur -> lireEntree( donnees ) != 0 )
    {
      cerr << "Erreur dans la lecture du fichier XML" << endl;
      return;
    }
  else
    cout << "Lecture terminée avec succès" << endl;

  donnees . afficheContenu();
}
